#ifndef __queue_H__
#define __queue_H__

#include <stdio.h>
#include <stdlib.h>

#define datatype int

typedef struct QueueNode
{
	datatype data;
	struct QueueNode *next;
} QueueNode;

typedef struct Queue
{
	QueueNode *front; //队头指针
	QueueNode *tail;  //队尾指针
} Queue;

int Init(Queue *queue);

int EnQueue(Queue *queue, datatype i);

void Show(Queue *queue);

int DeQueue(Queue *queue);

int GetHead(Queue *queue, datatype *v);

int Length(Queue *queue);

void Clean(Queue *queue);

void Destory(Queue *queue);

#endif